﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using RoofRunner.GameComponents;
using RoofRunner.GameComponents.Rendering;

namespace RoofRunner.Actors.ActorComponents
{
    public abstract class ActorComponent
    {
        #region Properties
        public Actor Parent { get; set; }

        public int UpdatePriority { get; set; }
        public int RenderPriority { get; set; }
        #endregion // Properties


        #region Methods
        public virtual void LoadContent(ContentManager content) { }
        public virtual void UnloadContent() { }
        public virtual void Update(GameTime gameTime) { }
        public virtual void PreRender(GameTime gameTime) { }
        public virtual void Render(GameTime gameTime, RenderWorld renderWorld) { }
        #endregion // Methods
    }
}
